package com.turing.procedure.client.template;

import com.turing.common.response.ResponseVO;
import com.turing.procedure.vo.in.TemplateVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.sound.midi.SoundbankResource;
import java.util.Set;

/**
 * @Description 场景feign
 * @Author lcy
 * @Date 2021/6/9 11:24
 */
@FeignClient(name = "data", path = "template")
public interface TemplateClient {

    /**
     * 校验场景权限
     *
     * @param templateId 场景id
     * @return com.turing.common.response.ResponseVO<java.lang.Boolean>
     * @author lcy
     * @date 2021/6/9 11:11
     **/
    @GetMapping("checkTemplatePrivileges")
    ResponseVO<Boolean> checkTemplatePrivileges(@RequestParam("templateId") String templateId);

    /**
     * 获取产品合同所有场景id
     *
     * @return com.turing.common.response.ResponseVO<java.util.Set < java.lang.String>>
     * @author lcy
     * @date 2021/6/9 11:29
     **/
    @GetMapping("getProductTemplate")
    ResponseVO<Set<String>> getProductTemplate();

    /**
     * 获取具有权限的场景id
     *
     * @return com.turing.common.response.ResponseVO<java.util.List < java.lang.String>>
     * @author lcy
     * @date 2021/6/9 11:29
     **/
    @GetMapping("getPrivilegeTemplate")
    ResponseVO<Set<String>> getPrivilegeTemplate();

    /*
     * 通过id获取模板
     * */
    @GetMapping("getTemplateById")
    ResponseVO<TemplateVo> getTemplateById(@RequestParam("templateId") String templateId);

}
